package com.jic.market.service.base;

import com.jic.common.base.vo.Page;
import com.jic.common.base.vo.PageResult;
import com.jic.common.base.vo.RestResult;
import com.jic.market.entity.base.BaseActivity;
import com.jic.market.request.CouponConfigQueryRequest;
import com.jic.market.request.manager.base.BaseActivityRequest;

import com.jic.market.response.CouponConfigQueryResponse;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: gaolanyu
 * @date: 2020-03-10
 * @remark: 活动公共字段处理
 */

public interface BaseActivityService {
    PageResult<BaseActivity> queryPage(BaseActivity baseActivity, Page pageQuery);

    RestResult<String> save(BaseActivityRequest baseActivityRequest);

    Long update(BaseActivity baseActivity);

    BaseActivity queryActivityByPromotionId(String promotionId);

    BaseActivity queryActivityById(Long id);

    RestResult<String> copy(String promotionId,boolean templateFlag);

    Long updateStatusByPromotionId(String promotionId,
                                   String status);

    Long deleteByPromotionId(String promotionId);

    Long check(String promotionId,String checkRemark,String status);

    PageResult<BaseActivity> querySkillPage(BaseActivity baseActivity,Page pageQuery, String merchantId, String storeId);

    PageResult<BaseActivity> queryCouponPage(BaseActivity baseActivity,
                                             Page pageQuery,
                                             String merchantId,
                                             String storeId,
                                             String grantType,
                                             Integer couponType);

    BaseActivity queryByPromotionIdAndPromType(String promotionId,String promType);

    PageResult<CouponConfigQueryResponse> getCouponList(CouponConfigQueryRequest couponConfigQueryRequest);

    CouponConfigQueryResponse getCouponByPromotionId(CouponConfigQueryRequest couponConfigQueryRequest);
}
